// Object.prototype.show= function() {
//   for (var a in this) {
//     if (this.hasOwnProperty(a)) {
//       console.log(a + ": " + this[a]);
//     }
//   }
// };
// var Obj={
//     name:"李四",
//     age:18
// }
// Obj.show();

//yyyy年MM月dd日
// Date.prototype.show=function(){
//     var nian=this.getFullYear();
//     var yue=this.getMonth()+1;
//     var re=this.getDate();
//     console.log(nian+"年"+yue+"月"+re+"日");
// }
// var date=new Date();
// date.show(); 

//普通对象
var obj={}
console.log( typeof obj);//Object
//函数对象
var oba=function(){

}
console.log(typeof oba);//function

//理解prototype
//每个函数都有一个prototype属性,这个属性是一个指向对象的指针,这个对象称为原型对象,它包含该函数所以的实例共享的属性和方法
//实例
// var Hea=function(name,age){
//     this.name=name;
//     this.age=age;
// }
// Hea.prototype.show=function(){
//     console.log("名字:"+this.name,"年龄"+this.age);
// }
// var la=new Hea("李四",14)
// var lc=new Hea("王五",16)
// la.show();
// lc.show();

//理解__proto__属性的用法
//每一个对象都有一个__proto__内部属性,它指向该对象的原型
//实例
// var dx={
//     name:"aaa",
//     age:15
// }
// var dxa={
//     ggb:function(){
//         console.log("姓名:"+this.name,"年龄"+this.age)
//     }
// }
// dx.__proto__=dxa;
// dx.ggb();

let a=[3,5,1,8,9,6,2];

function guolv(arr,c){
    var are=[];
    for(let i of arr){
        if(c(i)){
            are.push(i);
        }
    }
    return are;
}
let b=guolv(a,(d)=>d>=5)
console.log(b);
